<script setup lang="ts">
import { computed, onMounted, ref, watch } from 'vue'

const props = defineProps()
const emits = defineEmits(['fasdf'])
const aaa = ref()

defineExpose({})

watch(aaa, () => {
  /* ... */
})

await new Promise(resolve => {
  setTimeout(() => {
    resolve(1)
  }, 1000)
})

/* ✗ BAD */
watch(aaa, () => {
  /* ... */
})

const bhbb = computed(() => {
  return aaa
})
onMounted(() => {})
</script>

<template>
  <div
    @click="emits('a')"
    v-is="bhbb"
    is="bhbb"
  ></div>
</template>

<style scoped></style>
